
package com.insigma.business.qrcode.soldier._bff;




import com.insigma.business.qrcode.common.annotation.ApiServiceType;
import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.PlacementInfoDTO;
import com.insigma.business.qrcode.soldier.dto.PlacementStatsInfoDTO;
import com.insigma.business.qrcode.soldier.dto.SimpleApiRequest;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;
import com.insigma.business.qrcode.soldier.request.PlacementInfoInsertRequest;
import com.insigma.business.qrcode.soldier.request.PlacementInfoSearchRequest;
import com.insigma.business.qrcode.soldier.request.PlacementInfoUpdateRequest;

import java.util.List;


public interface PlacementInfoBFFProvider {

    
    @ApiServiceType(value = "gov.ss.placement.stats", name = "统计", desc = "统计")
    BaseResponse<PlacementStatsInfoDTO> statPlacement(SimpleApiRequest request);

    
    @ApiServiceType(value = "all.ss.placement.contact.no", name = "获取电话号码", desc = "获取电话号码")
    BaseResponse<String> getCustomerServcieInfo();

    
    @ApiServiceType(value = "gov.ss.placement.search", name = "查询数据列表", desc = "查询数据列表")
    BasePagingResponse<List<PlacementInfoDTO>> searchPlacementInfo(final PlacementInfoSearchRequest placementInfoSearchRequest);

    
    @ApiServiceType(value = "all.ss.placement.view", name = "得到合法的非逻辑删除对象", desc = "得到合法的非逻辑删除对象")
    BaseResponse<PlacementInfoDTO> getPlacementInfo(final BaseGetRequest baseGetRequest);

    
    @ApiServiceType(value = "gov.ss.placement.add", name = "创建安置", desc = "创建安置", opsLog = "安置")
    BaseResponse<String> insertPlacementInfo(final PlacementInfoInsertRequest placementInfoInsertRequest);

    
    @ApiServiceType(value = "gov.ss.placement.update", name = "修改安置", desc = "修改安置", opsLog = "安置")
    BaseResponse<Integer> updatePlacementInfo(final PlacementInfoUpdateRequest placementInfoUpdateRequest);

    
    @ApiServiceType(value = "gov.ss.placement.can.apply.update", name = "是否可以修改志愿", desc = "是否可以修改志愿", opsLog = "安置")
    BaseResponse<Integer> updateCanApply(final PlacementInfoUpdateRequest placementInfoUpdateRequest);

    
    
    @ApiServiceType(value = "gov.ss.placement.publish", name = "创建安置", desc = "创建安置", opsLog = "安置")
    BaseResponse<Integer> publishPlacement(PlacementInfoUpdateRequest request);

    
    @ApiServiceType(value = "gov.ss.placement.aspiration.result.cal", name = "计算安置结果", desc = "计算安置结果")
    BaseResponse<Integer> calculateBatchMatchResult(SimpleApiRequest apiRequest);

    
    @ApiServiceType(value = "gov.ss.placement.remove", name = "删除数据", desc = "删除数据", opsLog = "安置")
    BaseResponse<Integer> deletePlacementInfo(final BaseDeleteRequest deleteRequest);

}
